# -*- coding: utf-8 -*-
# 如果你的程序（包括注释）中包含中文，请加上上面这一行，用于指明编码（utf-8）。
# #号开头的行都是注释。

# 如何编辑本程序：
#     用任何文本编辑器均可编辑。

# 如何运行本程序：
#     在终端中，运行：python p602_module.py
#
# 依赖模块：
#     p601_module.py

# 用import语句导入模块。
# import语句一般放在其它语句之前（虽然语法上只要在使用之前都可以）。
import p601_module

# import语句的作用：将p601_module中的全部代码加载到内存中执行，
# 然后将整个模块内容赋值给与模块同名的变量，该变量的类型是module，
# 而在该模块中定义的所有程序单元都相当于该module对象的成员。

print(p601_module.store_name)
p601_module.make_pizza(16, 'pepperoni')
p601_module.make_pizza(14, 'mushrooms', 'green peppers', 'extra cheese')


# 以上代码也可以写成：

import p601_module as pizza  # 给模块取个别名。
pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(14, 'mushrooms', 'green peppers', 'extra cheese')
print(pizza.store_name)

# 或者只导入部分成员，访问时无需指定模块名：

from p601_module import make_pizza
make_pizza(16, 'pepperoni')
make_pizza(14, 'mushrooms', 'green peppers', 'extra cheese')
print(store_name)  # 这个会报错。

# 或者导入所有成员，访问时无需指定模块名：
# （为防止命名冲突，不建议这一种方式。）

from p601_module import *
make_pizza(16, 'pepperoni')
make_pizza(14, 'mushrooms', 'green peppers', 'extra cheese')
print(store_name)


# 也可以一行导入多个：
import sys as s, os as o  # sys和os都是python自带的标准模块，可用help()函数查看。
print(s.argv[0])
print(o.sep)

# 也可以对导入的模块成员改名：
from sys import argv as v
print(v[0])












